home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / dirut / free16.zip / FREE.DOC < prev    next >
Text File  |  1989-02-17  |  19KB  |  297 lines

  1.  
  2.                         FREE  Version 1.6
  3.                      by Howard S. Kapustein
  4.            Copyright (c) 1988,1989 All rights reserved
  5.  
  6.     FREE   : free.c checks disk free space, with options
  7.  
  8.     Author : Howard S. Kapustein
  9.  
  10.     Program, Source, Documentation Copyright (c) 1988,1989 all rights reserved.
  11.  
  12.     Compiled code may be used in your library, and linked to your programs
  13.     BUT, the source code nor a library based on the compiled modules may be
  14.     commercially distributed.
  15.     I retain all rights to the source (this is all lawyer talk. I just don't
  16.     want someone making money off my efforts.)
  17.     No donation is expected. If you like FREE, send me a picture postcard
  18.     or, if you must, $5. I am a poor starving college student and will 
  19.     gladly accept all comments, questions, suggestions and/or donations.
  20.  
  21.     For a quick start try   FREE -?
  22.  
  23.     I know this is a pretty simple program. There are plenty of versions
  24.     of free disk space programs in the public domain, but none suited my 
  25.     needs. I needed 3 features besides the standard disk space free:
  26.  
  27.         1) Check more than 1 drive per run
  28.         2) Optionally check all drives
  29.         3) Optionally wait for a keypress after execution for use
  30.            with DESQview (tm)
  31.  
  32.     FREE.C, FREE.EXE and FREE.DOC must be distributed together.
  33.  
  34.     FREE was compiled with Turbo C (tm) 2.0 on an IBM PC with the Tiny
  35.     memory model optimized on Speed and all optimizations turned on
  36.     (Register and Jump optimization).
  37.  
  38.     Release notes:      2-2-88  Version 1.0 - Initial release
  39.  
  40.                         2-22-88 Version 1.1
  41.                                   - checks for drive ready before checking
  42.                                     free space
  43.                                   - skips drive B: only 1 drive present
  44.                                     (B: is a logical drive, not a physical
  45.                                     drive)
  46.                                   - optional wait after execution can now
  47.                                     wait for a specific key (specify its
  48.                                     decimal scan code, only valid for keys
  49.                                     1-255 (no extended keys i.e. Alt-C, etc.)
  50.                                   - fixed a bug with the strtocomma() function.
  51.                                     If a 4-digit number (i.e. 9216) was passed
  52.                                     to it it would not insert any commas
  53.                                   - I no longer make FREE.COM, for some reason
  54.                                     under DESQview FREE.COM 1.0 still needed
  55.                                     approx 70K, so until I can figure out how
  56.                                     to get FREE to use appropriate only the 11K
  57.                                     or so it needs, I'm not going to bother
  58.                                     playing with COM files
  59.  
  60.                         2-29-88 Version 1.2
  61.                                   - recompiled under Turbo C 1.5 (it only took
  62.                                     them 6 weeks instead of the 2-3 it should
  63.                                     have...) I turned on ALL optimizations
  64.                                     (speed, use regs, optimize regs and jumps.)
  65.                                     Previous versions were only compiled with
  66.                                     speed and use registers.
  67.                                   - modified the parsing for more coherent
  68.                                     program flow
  69.                                   - made waitforkey() after having extensive
  70.                                     difficulties getting the -w option to work.
  71.                                     This seems to have fixed the runtime bugs
  72.                                     I was getting after recompiling with TC 1.5
  73.                                   - changed the HEAP and STACK size so it will
  74.                                     run with less memory
  75.                                   - removed some needless comments left over
  76.                                     from old coding
  77.                                   - include a DESQview .DVP file for use with
  78.                                     DESQview.
  79.  
  80.                         3-19-88 Version 1.3
  81.                                   - fixed the bug with multiple drives
  82.                                     specified on the command line. It seems
  83.                                     that TC 1.5 DOES NOT let you use the
  84.                                     generic argc and argv as in
  85.                                     main(int argc, char *argv[]) Now Borland
  86.                                     wants you to use their global variables
  87.                                     (extern int argc, etc.). Nice of them not
  88.                                     to mention the fact that the old method
  89.                                     no longer works.
  90.  
  91.                         3-23-88 Version 1.31  -  Internal release only
  92.                                   - if you try to do a   FREE -   with no
  93.                                     parms free would check the default drive.
  94.                                     This has been fixed to display the help
  95.                                     (technically, doing   FREE -   is wrong)
  96.                                   - version 1.2 allowed -w[n] option to check
  97.                                     for extended key codes, but I forgot to
  98.                                     document it. Use this formula to get the
  99.                                     value for the wait option:
  100.  
  101.                                         extended * 256 + scancode
  102.  
  103.                                     where extended is 0 if False and 1 if True
  104.                                     and scancode is the scan code returned by
  105.                                     the key (refer to one of Norton's books
  106.                                     or some other reference guide for a list
  107.                                     of IBM extended scan codes.)
  108.  
  109.                         4-10-88 Version 1.32  -  Internal release only
  110.                                   - I removed a printf() left over from
  111.                                     debugging
  112.                                   - included info about contacting me during
  113.                                     the school year
  114.  
  115.                          5-6-88 Version 1.33  - Internal release only
  116.                                   - included % free
  117.  
  118.                         5-11-88 Version 1.34  - Internal release only
  119.                                   - fixed -w option, was skipping past
  120.                                     1st digit of keycode ([n])
  121.                                   - also, discovered the problem with the
  122.                                     -w option. Compiled w/full optimization,
  123.                                     the waitkey value was stored in a
  124.                                     register which was destroyed during the
  125.                                     absread(). This is a problem of the
  126.                                     TC library itself. I don't remember
  127.                                     who it was who discovered this flaw, but
  128.                                     if you drop me a line I'll update these
  129.                                     docs. He has notified Borland, so
  130.                                     hopefully the next TC will have this bug
  131.                                     fixed (if not sooner, but I'm not
  132.                                     holding my breath.) Thank you for the
  133.                                     debugging, it gave me many a restless
  134.                                     hour. DO NOT compile FREE with register
  135.                                     variables on, or unknown results may
  136.                                     (and probably will) occur
  137.  
  138.                         11-9-88 Version 1.4
  139.                                   - recompiled under TC 2.0 in Small model,
  140.                                     Merge duplicate strings On, Standar